package com.zyl.blog.common.enums;

import lombok.Getter;

/**
 * @version v1.0
 * @ProjectName: Personal_Blog
 * @Package: com.zyl.common.core.enums
 * @ClassName: BusinessType
 * @Description: 业务管理层枚举
 * @Author FinalFantasy
 * @Date 2025/2/17-17:56
 */
@Getter
public enum BusinessType {

    USER("用户管理", 100),
    ROLE("角色管理", 101),
    MENU("菜单管理", 102),
    MEDIA("媒体资源管理", 103),
    DICT("字典管理", 104),
    LOG("日志管理", 105),
    FILE("文件管理", 106),
    AUTH("权限管理", 200),
    SYSTEM("系统管理", 300),
    AI_MODEL("AI模型管理", 400),
    TEAM("团队管理", 500),
    WORK_FLOW("工作流管理", 600),
    DIGITAL("资产管理", 700),
    PROJECT("项目管理", 800),
    OTHER("其他", 999);

    private final String desc;
    private final int code;

    BusinessType(String desc, int code) {
        this.desc = desc;
        this.code = code;
    }

    /**
     * 根据code值获取枚举实例
     */
    public static BusinessType fromCode(int code) {
        for (BusinessType type : values()) {
            if (type.code == code) {
                return type;
            }
        }
        throw new IllegalArgumentException("无效的业务类型代码: " + code);
    }
}